﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using Joel.Vishnu.Modelo.Entidades;
using Joel.Vishnu.Presentacion.Vistas;
using Joel.Vishnu.Presentacion;

namespace Joel.Vishnu.Formularios
{
    public partial class Iva : Form, IIva
    {
        #region Constructores

        public Iva()
        {
            InitializeComponent();
            presentador = new IvaPresentador(this);
        }

        #endregion

        #region Atributos

        private IvaPresentador presentador;

        #endregion

        #region Propiedades

        public String Valor
        {
            get { return Convert.ToString(numPorcentaje.Value); }
            set { numPorcentaje.Value = Convert.ToDecimal(value); }
        }

        #endregion

        #region Metodos

        public void HabilitarControles()
        {
            numPorcentaje.Enabled = !numPorcentaje.Enabled;
            btnModificar.Enabled = !btnModificar.Enabled;
            btnAceptar.Enabled = !btnAceptar.Enabled;
            btnCancelar.Enabled = !btnCancelar.Enabled;
        }

        public void ActualizarPorcentaje()
        {
            presentador.ActualizarPorcentaje();
        }

        #endregion

        #region Eventos

        private void btnModificar_Click(object sender, EventArgs e)
        {
            HabilitarControles();
            numPorcentaje.Focus();
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                presentador.Aceptar();
                HabilitarControles();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            try
            {
                HabilitarControles();
                ActualizarPorcentaje();
                btnModificar.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void Iva_Load(object sender, EventArgs e)
        {
            try
            {
                presentador.Inicializar();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        #endregion
    }
}
